![]() |
![]() |
|
rtk 20062006.1.1 (preuredi)Odstavki 1. podnalogaNalogaV nekem besedilu so odstavki ločeni s praznimi vrsticami. Uredi zamike in
preuredi vrstice funkcije
Vhodni podatkiBesedilo v obliki niza. Izhodni podatkiUrejeno besedilo v obliki niza. Primer
Uradna rešitevdef odstavki(besedilo): """Skupine praznih vrstic v besedilu nadomesti z eno samo prazno vrstico.""" vrstice = besedilo.split('\n') izpis = '' prejsnja_prazna = False for vrstica in vrstice: if vrstica == '' and prejsnja_prazna: continue elif vrstica == '' and not prejsnja_prazna: prejsnja_prazna = True izpis += vrstica + '\n' else: prejsnja_prazna = False izpis += vrstica + '\n' return izpis[:-1] 2006.1.2 (preuredi)Sneg 1. podnalogaLetošnja zima je bila radodarna s snegom. Da bi opazovali časovno spreminjanje količine zapadlega snega, lahko za vsak dan posebej merimo, koliko snega je na novo zapadlo tisti dan in koliko se ga je stalilo (ali pa se je snežna odeja stanjšala zaradi sesedanja). Iz razlike med tema dvema količinama lahko ugotovimo, za koliko se je povečala ali zmanjšala debelina snežne odeje. Od toplih jesenskih dni naprej vsak dan spremljamo dve meritivi:
NalogaUredi zamike in preuredi vrstice funkcije
Vhodni podatkiSeznam parov (novozapadli sneg, znižanje snežne odeje). Izhodni podatkiSeznam s podatki o debelini snežne odeje za Primer
Uradna rešitevdef sneg(podatki): """Prejme seznam zaporednih n dni, s podatki o zvišanju in znižanju snežne odeje, ter vrne seznam s količinami snega ob koncu dneva za n zaporednih dni.""" snezna_odeja = 0 kolicina_snega = [] for dan in podatki: snezna_odeja += dan[0] - dan[1] kolicina_snega.append(snezna_odeja) return kolicina_snega 2006.1.3 (preuredi)Sudoku 1. podnalogaSudoku je številčna križanka. Igralno polje velikosti V igralno polje igralec vpisuje števila od
NalogaPreuredi vrstice funkcije
Vhodni podatkiSeznam seznamov, ki predstavlja igralno polje. Izhodni podatkiNiz Primer
Uradna rešitevdef sudoku(resitev): """Vrne 'PRAVILNA', če rešitev sudokuja ustreza vseh zahtevanim pravilom, in 'NAPAČNA' sicer.""" vrsta = [[] for i in range(9)] stolpec = [[] for i in range(9)] kvadratek = [[] for i in range(9)] for i in range(9): for j in range(9): stevilo = resitev[i][j] vrsta[i].append(stevilo) stolpec[j].append(stevilo) kvadratek[i//3 * 3 + j//3].append(stevilo) for i in range(9): stevila = {1, 2, 3, 4, 5, 6, 7, 8, 9} if set(vrsta[i]) != stevila or set(stolpec[i]) != stevila or set(kvadratek[i]) != stevila: return 'NAPAČNA' return 'PRAVILNA' 2006.1.4 (preuredi)Naraščajoče besede 1. podnalogaV nekaterih besedah so črke že urejene naraščajoče po abecedi: vsaka črka take besede pride v abecedi kasneje kot prejšnja črka te besede. Takšnim besedam pravimo naraščajoče besede. Primer naraščajoče besede je AGILNOST (G je v abecedi kasneje kot A, I je kasneje kot G in tako naprej). NalogaUredi zamike in preuredi vrstice funkcije
Vhodni podatkiSeznam besed. Izhodni podatkiNajdaljša naraščajoča beseda. Primer
Uradna rešitevdef narascajoce_besede(besede): """Sprejme seznam besed in vrne najdaljšo naraščajočo besedo.""" najdaljsa = '' for beseda in besede: dolzina = len(beseda) if dolzina > len(najdaljsa): narasca = True for i in range(1, dolzina): if beseda[i] < beseda[i-1]: narasca = False break if narasca: najdaljsa = beseda return najdaljsa 2006.1.5 (preuredi)Podnapisi 1. podnalogaNek predvajalnik filmov bi radi dopolnili tako, da bo znal prikazovati tudi podnapise. Te imamo podane v samostojnih datotekah, ločeno od filma, tako da lahko k istemu filmu pritaknemo podnapise v različnih jezikih. Ob predvajanju je treba, tik preden se prikaže posamezna sličica filma, ugotoviti, kateri podnapis pripada tej sličici (če sploh kakšen). NalogaPreuredi vrstice funkcije
Primer podnapisovDatoteka s podnapisi izgleda kot je prikazano spodaj. Najprej je naveden časovni interval v katerem je prikazan podnapis in nato še dejanski podnapis. Sledi prazna vrstica. Privzameš lahko, da noben podnapis ni podan v dveh vrsticah.
Vhodni podatkiDatoteka s podnapisi in čas sličice ob katerem se ta prikaže v filmu. Izhodni podatkiPodnapis, ki ustreza sličici. Primer
Uradna rešitevdef podnapisi(txt, cas_slicice): """Iz datoteke txt izpiše podnapis, ki v filmu priprada sličici s številko st_slicice.""" with open(txt, 'r', encoding='utf-8') as podnapisi: pravi_podnapis = False for vrstica in podnapisi: if pravi_podnapis: vrstica = vrstica.strip() return vrstica if '-->' in vrstica: zacetek, konec = vrstica.split(' --> ') if zacetek <= cas_slicice <= konec: pravi_podnapis = True return ''Mesto objave ob koncu projekta 15.9.2018 |